Evolving Algebras: an Attempt to Discover Semantics

نویسنده

  • Yuri Gurevich
چکیده

This tutorial is based on lecture notes from the Fall 1990 course on Principles of Programming Languages at the University of Michigan. (My young friend Quisani did not attend the lectures.) The present version incorporates some changes provoked by the necessity to update the bibliography. The main part of the paper is still the same, however, and the examples are unchanged even though many things happened in the meantime. In particular, we (the collective we) have learned how to build evolving algebras by the method of successive re nements, and the current evolving algebra description of the C programming language in [GH] doesn't look much like the strcpy example anymore. Now, we understand better how to compose evolving algebras and how to prove things with evolving algebras. A typical misconception is that the operational approach is necessarily too detailed. Some people think that an approach suited for complexity analysis does not give a good high-level speci cation language. I believe in a high-level speci cation language based on evolving algebras; the successive re nement method is then one tool to prove implementation correctness. But this and various other issues (how to incorporate real time into evolving algebras for example) will have to be addressed elsewhere.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Formalisation of Evolving Algebras

Evolving Algebras is a speciication formalism developed by Y. Gurevich. It is applied in a number of cases, e.g. to deene the semantics of programming languages and protocols. This paper presents a formal deenition of Evolving Algebras with a clear separation between syntax and semantics, leading (among other things) to an elaboration of the join operator. The relation with the formal speciicat...

متن کامل

The Semantics of the C Programming Language

We present formal operational semantics for the C programming language. Our starting point is the ANSI standard for C as described in [KR]. Knowledge of C is not necessary (though it may be helpful) for comprehension, since we explain all relevant aspects of C as we proceed. Our operational semantics is based on evolving algebras. An exposition on evolving algebras can be found in the tutorial ...

متن کامل

Semantics of Object-Oriented Data Models - The Evolving Algebra Approach

The formal description of the semantics of object-oriented data models is still an open problem. Some characteristic features of object-oriented data models, such as methods and inheritance, involve investigating data and schema. Therefore they can not be handled straightforwardly with rst order logic. As an alternative, we propose the evolving algebra approach to specify the formal semantics o...

متن کامل

Veriication of a Prolog Compiler { First Steps with Kiv

This paper describes the rst steps of the formal veriication of a Prolog compiler with the KIV system. We build upon the mathematical deenitions given by BB orger and Rosenzweig in BR95]. There an operational semantics of Prolog is deened using the formalism of Evolving Algebras, and then transformed in several systematic steps to the Warren Abstract Machine (WAM). To verify these transformatio...

متن کامل

Veri cation of a Prolog Compiler { First Steps with KIV

This paper describes the rst steps of the formal veriication of a Prolog compiler with the KIV system. We build upon the mathematical deenitions given by BB orger and Rosenzweig in BR95]. There an operational semantics of Prolog is deened using the formalism of Evolving Algebras, and then transformed in several systematic steps to the Warren Abstract Machine (WAM). To verify these transformatio...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1993